import handleNum from './index'

// 数据的初始化
const defaultState = {
  ...handleNum.state //解构
}

let reducer = (state = defaultState, action: { type: string, val: number }) => {
  let newState = JSON.parse(JSON.stringify(state))

  // switch (action.type) {
  //   case 'add1':
  //     // newState.num++
  //     handleNum.actions.add1(newState)
  //     break

  //   case 'add2':
  //     // newState.num += action.val
  //     handleNum.actions.add2(newState, action)
  //     break

  //   default:
  //     break
  // }
  // 使用forin来通过循环判断调用
  for (let key in handleNum.actionNames) {
    if (key === action.type) {
      // @ts-ignore
      handleNum.actions[key](newState, action)
    }
  }


  return newState
}

export default reducer